package com.coolingme.editor;

import java.util.Stack;

/**
 * 草稿箱
 *
 * @author wangyue
 * @date 2020-09-26 17:51
 */
public class DraftsBox {

    /**
     * 文章备忘录栈，可以恢复栈中的备忘录，按照栈的LIFO顺序
     */
    private final Stack<ArticleMemento> stack = new Stack<>();

    /**
     * 获取栈中的备忘录
     *
     * @return 最后一次保存的备忘录
     */
    public ArticleMemento getMemento() {
        // 没有返回null，测试类中就不处理了，仅做个测试
        if (stack.empty()) {
            return null;
        }
        return stack.pop();
    }

    /**
     * 保存备忘录
     *
     * @param memento 需要保存的备忘录
     */
    public void addMemento(ArticleMemento memento) {
        stack.push(memento);
    }

}
